public class Test {
    public static void main(String[] args) {

    }
    //24.两两交换链表中的节点
  /*  public ListNode swapPairs(ListNode head) {
        if(head == null || head.next == null) return head;
        //结点个数 >= 2
        ListNode cur =  swapPairs(head.next.next);
        ListNode newHead = head.next;
        head.next.next = head;
        head.next = cur;
        return newHead;
    }*/
    //按摩师
    public int massage(int[] nums) {
        int n = nums.length;
        if(n==0) return 0;
        //dp[i]表示从i位置的最大预约时间，有两个状态f[i],g[i]
        int[] f = new int[n];//选择i位置为服务时间最长
        int[] g = new int[n];//不选i位置为时间最长
        f[0] = nums[0];
        for(int i=1;i<n;i++) {
            f[i] = g[i-1] + nums[i];
            g[i] = Math.max(f[i-1],g[i-1]);
        }
        return Math.max(f[n-1],g[n-1]);
    }


}
